package cn.cjxy.springbootdemo1.controller;

import cn.cjxy.springbootdemo1.domain.User;
import cn.cjxy.springbootdemo1.util.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

/**
 * RESTful规范
 *
 * - 请求方式区别资源
 * - API版本号应该包含在资源路径中，根据企业规范决定
 * - 资源路径只能有名词不能有动词
 * - 数据量大时应该分页进行响应
 *
 * | 请求地址                        | 请求方式 | 操作说明     |
 * | ------------------------------- | -------- | ------------ |
 * | http://localhost:8080/user      | GET      | 查询所有用户 |
 * | http://localhost:8080/user/{id} | GET      | 根据单个用户 |
 * | http://localhost:8080/user      | POST     | 新增用户     |
 * | http://localhost:8080/user      | PUT      | 修改用户     |
 * | http://localhost:8080/user/{id} | DELETE   | 删除单个用户 |
 * @author huangjie
 * @date 2025/10/14
 */
@RestController
@RequestMapping("/rest")//此为rest模块
public class RestfulController {


    /**
     * http://localhost:8081/rest
     * 查询所有
     * @return
     */
    @GetMapping//以get方式请求
    public R<List<User>> getUsers(){
        List<User> list = Arrays.asList(new User("张三", 22), new User("李四", 24), new User("王五", 28));
        return R.ok(list);
    }

}
